package com.je.app.view;

import java.awt.Dimension;

import javax.swing.DefaultComboBoxModel;
import javax.swing.JPanel;
import javax.swing.ListSelectionModel;
import javax.swing.JSeparator;

import java.awt.Color;

import javax.swing.JLabel;

import java.awt.Font;

import javax.swing.SwingConstants;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.DefaultListModel;
import javax.swing.JTextField;
import javax.swing.JButton;

import com.je.app.view.MainFrame;
import com.je.app.view.MainFrame.MessageType;
import com.je.app.control.ControlConfiguracion;

import javax.swing.JComboBox;
import javax.swing.JSpinner;
import javax.swing.SpinnerNumberModel;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import javax.swing.JList;
import javax.swing.ImageIcon;
import javax.swing.JLayeredPane;

import java.awt.Insets;

@SuppressWarnings("serial")
public class ConfiguracionHabitaciones extends JPanel{
	private JTable tablaPeriodos;
	private JTextField txtInicio;
	private JTextField txtFin;
	private JButton btnAceptar;
	private JButton btnCancelar;
	private JTextField txtPrecioHora;
	private JTextField txtTiempoMnimo;
	private JButton btnCambiar;
	private JTextField txtMinutos;
	private JSpinner spinnerHoraFin;
	private JTextField txthoras;
	private JTextField fieldPrecio;
	private JTextField fieldDiaInicio;
	private JTextField fieldHoraInicio;
	private JTextField textField_3;
	private JList<String> listaTiposPersistidos;
	private JLabel label;
	private JSeparator separator_6;
	private JSeparator separator_7;
	private JSeparator separator_4;
	private JSeparator separator_5;
	private JTable tablaHabitaciones;
	private JSeparator separator_9;
	private JSeparator separator_10;
	private JSeparator separator_11;
	private JButton botonModificarPeriodo;
	private JSpinner spinnerMinutos;
	private List <String> dias;
	private JComboBox<String> comboDiaFin;
	private int fila;
	private JScrollPane scrollPane_1;
	private JList <String> listaTiposNoPersistidos;
	private JTextField fieldNuevoTipo;
	private JButton botonAceptarNuevoTipo;
	private JButton botonCancelarNuevoTipo;
	private JButton botonCrearTipo;
	private JButton botonEliminarTipo;
	private JTextField fieldNuevaHabitacion;
	private JTextField fieldNuevaConsumicion;
	private JButton botonAceptarNuevaHabitacion;
	private JButton botonAceptarNuevaConsumicion;
	private JButton botonCancelarNuevaHabitacion;
	private JButton botonCancelarNuevaConsumicion;
	private JButton botonCrearHabitacion;
	private JButton botonCrearConsumicion;
	private JButton botonModificarHabitacion;
	private JButton botonModificarConsumicion;
	private JComboBox<String> comboTipos;
	private DefaultListModel<String> modeloTiposNoPersistidos;
	private DefaultListModel<String> modeloTiposPersistidos;
	private JLayeredPane panelModificarRegistro;
	private JButton botonCancelarRegistro;
	private JSeparator separator_12;
	private JSeparator separator_13;
	private JSeparator separator_14;
	private JButton botonAgregarDebajo;
	private JButton botonEliminarRegistro;
	private JSeparator separator_17;
	private JSeparator separator_18;
	private JTable tablaConsumiciones;
	private JTextField txtConsumiciones_1;
	private JSeparator separator_19;
	private JTextField txtPerodosDeEste;
	private JSeparator separator_8;
	private HashMap<String,TableModel> hashModelTiposPersistidos ;
	private HashMap<String,TableModel> hashModelTiposNoPersistidos ;
	private List <String> nombresTiposEliminados;
	private HashMap  <String,String> hashHabitacionesModificadasPersistidas;
	private HashMap  <String,String> hashHabitacionesNuevas;
	private HashMap  <String,String> hashConsumicionesModificadasPersistidas;
	private HashMap  <String,String> hashConsumicionesNuevas;
	private int filaSeleccionadaHabitacion;
	private int filaSeleccionadaConsumicion;
	private JTextField fieldPrecioConsumicion;
	public ConfiguracionHabitaciones (Object [][] matrizInicial,final HashMap<String, Object[][]> hashTiposHabitaciones, 
			Object[][] modelHabitaciones , final HashMap <String,String> hashHabitacionesPersistidas,
			Object[][] modelConsumiciones , final HashMap <String,String> hashConsumicionesPersistidas){
	
		hashModelTiposPersistidos = new HashMap<String,TableModel>();
		hashModelTiposNoPersistidos = new HashMap<String,TableModel>();
		hashHabitacionesNuevas = new HashMap  <String,String> ();
		hashHabitacionesModificadasPersistidas = new HashMap  <String,String> ();
		hashConsumicionesNuevas = new HashMap  <String,String> ();
		hashConsumicionesModificadasPersistidas = new HashMap  <String,String> ();

		nombresTiposEliminados = new ArrayList <String> ();
		dias = new ArrayList <String> ();

		dias.add("Lunes"); 
		dias.add("Martes");
		dias.add("Miercoles");
		dias.add("Jueves");
		dias.add("Viernes");
		dias.add("Sabado");
		dias.add("Domingo");

		setLayout(null);
		setSize(new Dimension(1024, 824));
		
		JScrollPane scrollTable = new JScrollPane();
		scrollTable.setBounds(41, 328, 297, 241);
		add(scrollTable);
		
		DefaultTableCellRenderer modelocentrar = new DefaultTableCellRenderer();
		DefaultTableCellRenderer modeloderecha = new DefaultTableCellRenderer();
		modelocentrar.setHorizontalAlignment(SwingConstants.CENTER);
		modeloderecha.setHorizontalAlignment(SwingConstants.RIGHT);
	
		tablaPeriodos = new JTable();
		tablaPeriodos.setModel(new DefaultTableModel(matrizInicial,new String[] {"Inicio", "Fin", "Precio hora", "Tiempo m\u00EDn"}) {
			public boolean isCellEditable(int row, int column) {
				return false;
				}});
		tablaPeriodos.getColumnModel().getColumn(0).setResizable(false);
		tablaPeriodos.getColumnModel().getColumn(0).setCellRenderer(modelocentrar);
		tablaPeriodos.getColumnModel().getColumn(1).setResizable(false);
		tablaPeriodos.getColumnModel().getColumn(1).setCellRenderer(modelocentrar);
		tablaPeriodos.getColumnModel().getColumn(2).setResizable(false);
		tablaPeriodos.getColumnModel().getColumn(2).setCellRenderer(modeloderecha);
		tablaPeriodos.getColumnModel().getColumn(3).setResizable(false);
		tablaPeriodos.getColumnModel().getColumn(3).setMinWidth(80);
		tablaPeriodos.getColumnModel().getColumn(3).setPreferredWidth(80);
		tablaPeriodos.getColumnModel().getColumn(3).setCellRenderer(modelocentrar);

		tablaPeriodos.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
		scrollTable.setViewportView(tablaPeriodos);
		
		botonAgregarDebajo = new JButton("Agregar debajo");
		botonAgregarDebajo.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				int fila = tablaPeriodos.getSelectedRow();
				if(fila<0) {
					MainFrame.getInstance().showMessage(MessageType.ERROR,"No hay fila seleccionada");//no hay seleccionada
				}
				else if(fila+1==tablaPeriodos.getRowCount()){
					MainFrame.getInstance().showMessage(MessageType.ERROR,"No se puede agregar un registro despu\u00E9s del \u00FAltimo");//no se puede agregar despues de la ultima
				}
				else{
					((DefaultTableModel)tablaPeriodos.getModel()).insertRow(fila+1, new Object[]{tablaPeriodos.getValueAt(fila, 1),tablaPeriodos.getValueAt(fila, 1),tablaPeriodos.getValueAt(fila, 2),tablaPeriodos.getValueAt(fila, 3)});
				}
					
			}
		});
		botonAgregarDebajo.setBounds(352, 358, 107, 25);
		add(botonAgregarDebajo);
		
		btnAceptar = new JButton("Aceptar");
		btnAceptar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				List <String> noModificados = ControlConfiguracion.getInstance().modificarHabitaciones(hashHabitacionesModificadasPersistidas);
				ControlConfiguracion.getInstance().crearHabitaciones(hashHabitacionesNuevas);
				
				// MOSTRAR NO ELIMINADOS
				if(noModificados.size()>0){
					String mensaje = "Las siguientes habitaciones no fueron eliminados porque "
							+ "estan en uso: " + noModificados.get(0);
					for(int i = 1 ; i < noModificados.size() ; i++){
						mensaje = mensaje + ", " + noModificados.get(i);
					}
					MainFrame.getInstance().showMessage(MessageType.INFORMACION,mensaje);
				}
				
				ControlConfiguracion.getInstance().modificarConsumiciones(hashConsumicionesModificadasPersistidas);
				ControlConfiguracion.getInstance().crearConsumiciones(hashConsumicionesNuevas);
				
				List <String> noEliminados = ControlConfiguracion.getInstance().eliminarTiposHabitaciones(nombresTiposEliminados);
				ControlConfiguracion.getInstance().crearTiposHabitaciones(hashModelTiposNoPersistidos);
				ControlConfiguracion.getInstance().modificarTiposHabitaciones(hashModelTiposPersistidos);

				// MOSTRAR NO ELIMINADOS
				if(noEliminados.size()>0){
					String mensaje = "Los siguientes tipos no fueron eliminados porque "
							+ "poseen habitaciones asociadas: " + noEliminados.get(0);
					for(int i = 1 ; i < noEliminados.size() ; i++){
						mensaje = mensaje + ", " + noEliminados.get(i);
					}
					MainFrame.getInstance().showMessage(MessageType.INFORMACION,mensaje);
				}
				MainFrame.getInstance().showMessage(MessageType.EXITO,"Los cambios se han realizado con exito");
				ControlConfiguracion.getInstance().abrirConfiguraciones();
			}
		});
		btnAceptar.setBounds(621, 731, 107, 30);
		add(btnAceptar);
		
		btnCancelar = new JButton("Cancelar");
		btnCancelar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				ControlConfiguracion.getInstance().abrirConfiguraciones();
			}
		});
		btnCancelar.setBounds(821, 731, 107, 30);
		add(btnCancelar);
		
		JScrollPane scrollList = new JScrollPane();
		scrollList.setBounds(41, 87, 297, 83);
		add(scrollList);
		
		listaTiposPersistidos = new JList <String> ();
		scrollList.setViewportView(listaTiposPersistidos);
		modeloTiposPersistidos = new DefaultListModel<String>();
		for(String nombreTipoHabitacion: hashTiposHabitaciones.keySet()) modeloTiposPersistidos.addElement(nombreTipoHabitacion);
		
		listaTiposPersistidos.setModel(modeloTiposPersistidos);
		listaTiposPersistidos.addMouseListener(new MouseListener(){

			public void mouseClicked(MouseEvent arg0) {
				if(listaTiposPersistidos.getSelectedIndex()>=0){
					listaTiposNoPersistidos.clearSelection();
					String itemSeleccionado = listaTiposPersistidos.getSelectedValue();
					if(hashModelTiposPersistidos.containsKey(itemSeleccionado)){
						tablaPeriodos.setModel(hashModelTiposPersistidos.get(itemSeleccionado));
					}else{
					Object[][] periodosTipoSeleccionado;
					periodosTipoSeleccionado = hashTiposHabitaciones.get(itemSeleccionado);
					DefaultTableModel nuevoModel = new DefaultTableModel(periodosTipoSeleccionado,new String[] {"Inicio", "Fin", "Precio hora", "Tiempo m\u00EDn"}) {
						public boolean isCellEditable(int row, int column) {
							return false;
							}};
					hashModelTiposPersistidos.put(itemSeleccionado,nuevoModel);
					tablaPeriodos.setModel(nuevoModel);
					}
	
				}
			}
			public void mouseEntered(MouseEvent e){}
			public void mouseExited(MouseEvent e) {}
			public void mousePressed(MouseEvent e) {}
			public void mouseReleased(MouseEvent e) {}


		});
		
		botonCrearTipo = new JButton("Crear");
		botonCrearTipo.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				botonAceptarNuevoTipo.setVisible(true);
				botonCancelarNuevoTipo.setVisible(true);
				fieldNuevoTipo.setVisible(true);
				fieldNuevoTipo.setText("");
				botonCrearTipo.setVisible(false);
				botonEliminarTipo.setVisible(false);
				
			}
		});
		botonCrearTipo.setBounds(352, 100, 107, 23);
		add(botonCrearTipo);
	
		botonEliminarTipo = new JButton("Eliminar");
		botonEliminarTipo.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				int index = listaTiposNoPersistidos.getSelectedIndex();
				if(index>=0){
					hashModelTiposNoPersistidos.remove(listaTiposNoPersistidos.getSelectedValue());				
					modeloTiposNoPersistidos.remove(index);
				}
				else{
					String valor = listaTiposPersistidos.getSelectedValue();
					int ind = listaTiposPersistidos.getSelectedIndex();
					if(valor!=null){
						hashModelTiposPersistidos.remove(valor);
						modeloTiposPersistidos.remove(ind);
						nombresTiposEliminados.add(valor);
					}
					else{
					
						MainFrame.getInstance().showMessage(MessageType.ERROR,"No ha seleccionado un tipo a eliminar");
					}
				}
				
				
			}
		});
		botonEliminarTipo.setBounds(352, 134, 107, 23);
		add(botonEliminarTipo);
		
		botonEliminarRegistro = new JButton("Eliminar");
		botonEliminarRegistro.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				
				int fila = tablaPeriodos.getSelectedRow();
				if(fila<0) {
					MainFrame.getInstance().showMessage(MessageType.ERROR,"No ha seleccionado un registro a eliminar");
				//no hay seleccionada
				}
				else if(fila+1==tablaPeriodos.getRowCount()) {
					//no se puede eliminar despues de la ultima
					MainFrame.getInstance().showMessage(MessageType.ERROR,"No se puede eliminar la \u00FAltima fila");
				}
				else if(fila==0){
					MainFrame.getInstance().showMessage(MessageType.ERROR,"No se puede eliminar la primer fila");
				}
				else{
					((DefaultTableModel)tablaPeriodos.getModel()).removeRow(fila);
					((DefaultTableModel)tablaPeriodos.getModel()).setValueAt(tablaPeriodos.getValueAt(fila-1, 1), fila, 0);
				}
					
			}
		});
		botonEliminarRegistro.setBounds(352, 428, 107, 25);
		add(botonEliminarRegistro);
		
		JSeparator separator = new JSeparator();
		separator.setOrientation(SwingConstants.VERTICAL);
		separator.setForeground(Color.LIGHT_GRAY);
		separator.setBounds(480, 57, 1, 530);
		add(separator);
		
		JSeparator separator_1 = new JSeparator();
		separator_1.setOrientation(SwingConstants.VERTICAL);
		separator_1.setForeground(Color.LIGHT_GRAY);
		separator_1.setBounds(21, 57, 1, 530);
		add(separator_1);
		
		JSeparator separator_2 = new JSeparator();
		separator_2.setForeground(Color.LIGHT_GRAY);
		separator_2.setBounds(199, 57, 282, 1);
		add(separator_2);
		
		JLabel lblTiposDeHabitacin = new JLabel("Tipos de habitaci\u00F3n");
		lblTiposDeHabitacin.setHorizontalAlignment(SwingConstants.CENTER);
		lblTiposDeHabitacin.setFont(new Font("Tahoma", Font.PLAIN, 16));
		lblTiposDeHabitacin.setBounds(42, 46, 155, 21);
		add(lblTiposDeHabitacin);
		
		JSeparator separator_3 = new JSeparator();
		separator_3.setForeground(Color.LIGHT_GRAY);
		separator_3.setBounds(21, 57, 26, 1);
		add(separator_3);
		
		JScrollPane scrollPane = new JScrollPane();
		scrollPane.setBounds(573, 72, 252, 250);
		add(scrollPane);

		tablaHabitaciones = new JTable();
		tablaHabitaciones.setModel(new DefaultTableModel(
				modelHabitaciones,
			new String[] {
				"Nombre de habitaci\u00F3n", "Tipo"
			}
		) {
			boolean[] columnEditables = new boolean[] {
				false, false
			};
			public boolean isCellEditable(int row, int column) {
				return columnEditables[column];
			}
		});
		tablaHabitaciones.getColumnModel().getColumn(0).setPreferredWidth(140);
		tablaHabitaciones.getColumnModel().getColumn(0).setMinWidth(28);
		tablaHabitaciones.getColumnModel().getColumn(1).setResizable(false);
		tablaHabitaciones.getColumnModel().getColumn(1).setCellRenderer(modelocentrar);
		tablaHabitaciones.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
		scrollPane.setViewportView(tablaHabitaciones);
		
		label = new JLabel("Habitaciones");
		label.setHorizontalAlignment(SwingConstants.CENTER);
		label.setFont(new Font("Tahoma", Font.PLAIN, 16));
		label.setBounds(573, 30, 155, 21);
		add(label);
		
		separator_6 = new JSeparator();
		separator_6.setForeground(Color.LIGHT_GRAY);
		separator_6.setBounds(702, 41, 293, 1);
		add(separator_6);
		
		separator_7 = new JSeparator();
		separator_7.setForeground(Color.LIGHT_GRAY);
		separator_7.setBounds(553, 41, 47, 1);
		add(separator_7);
		
		separator_4 = new JSeparator();
		separator_4.setForeground(Color.LIGHT_GRAY);
		separator_4.setBounds(21, 764, 460, 1);
		add(separator_4);
		
		separator_9 = new JSeparator();
		separator_9.setOrientation(SwingConstants.VERTICAL);
		separator_9.setForeground(Color.LIGHT_GRAY);
		separator_9.setBounds(994, 41, 1, 302);
		add(separator_9);
		
		separator_10 = new JSeparator();
		separator_10.setOrientation(SwingConstants.VERTICAL);
		separator_10.setForeground(Color.LIGHT_GRAY);
		separator_10.setBounds(553, 41, 1, 302);
		add(separator_10);
		
		separator_11 = new JSeparator();
		separator_11.setForeground(Color.LIGHT_GRAY);
		separator_11.setBounds(553, 342, 441, 1);
		add(separator_11);
		
	
		botonModificarPeriodo = new JButton("Modificar");
		botonModificarPeriodo.addActionListener(new ActionListener() {
			

			public void actionPerformed(ActionEvent e) {

				comboDiaFin.setEnabled(true);
				spinnerHoraFin.setEnabled(true);
				fila = tablaPeriodos.getSelectedRow();
				if(fila<0) {
					MainFrame.getInstance().showMessage(MessageType.ERROR,"No ha seleccionado un registro a modificar");
					//no hay seleccionada
				}
				else{
					//DESHABILITACIONES Y HABILITACIONES
					panelModificarRegistro.setVisible(true);
					separator_14.setVisible(false);
					tablaPeriodos.setEnabled(false);
					botonAgregarDebajo.setEnabled(false);
					botonModificarPeriodo.setEnabled(false);
					botonEliminarRegistro.setEnabled(false);
					//FIN
					String diaHoraSeleccionado = (String) tablaPeriodos.getValueAt(fila, 0);
					String [] concatDiaHora = diaHoraSeleccionado.split(" - ");
					fieldDiaInicio.setText(concatDiaHora[0]);
					fieldHoraInicio.setText(concatDiaHora[1]);
					comboDiaFin.removeAllItems();
					int index = dias.indexOf(concatDiaHora[0]);
					for(int i = index; i < dias.size(); i++){
						comboDiaFin.addItem(dias.get(i));					
					}
					
					int horaMinimo =new Integer(concatDiaHora[1]);
									
					((SpinnerNumberModel)spinnerHoraFin.getModel()).setMinimum(horaMinimo);
					
					concatDiaHora=((String) tablaPeriodos.getValueAt(fila, 1)).split(" - ");
					
					comboDiaFin.setSelectedItem((String) concatDiaHora[0]);

					((SpinnerNumberModel)spinnerHoraFin.getModel()).setValue(new Integer(concatDiaHora[1]));
					
					fieldPrecio.setText("" + tablaPeriodos.getValueAt(fila, 2));
					
					spinnerMinutos.setValue(new Integer("" + tablaPeriodos.getValueAt(fila, 3)));
					
					if(fila+1==tablaPeriodos.getRowCount()){
						comboDiaFin.addItem("Lunes");
						comboDiaFin.setSelectedItem("Lunes");
						((SpinnerNumberModel)spinnerHoraFin.getModel()).setMinimum(0);
						((SpinnerNumberModel)spinnerHoraFin.getModel()).setValue(0);
						comboDiaFin.setEnabled(false);
						spinnerHoraFin.setEnabled(false);
					}	
				}		
			}
		});
		botonModificarPeriodo.setBounds(352, 394, 107, 23);
		add(botonModificarPeriodo);
		
		scrollPane_1 = new JScrollPane();
		scrollPane_1.setBounds(41, 174, 297, 83);
		add(scrollPane_1);
		
		listaTiposNoPersistidos = new JList<String>();
		scrollPane_1.setViewportView(listaTiposNoPersistidos);
		modeloTiposNoPersistidos = new DefaultListModel<String>();
		listaTiposNoPersistidos.setModel(modeloTiposNoPersistidos);
		listaTiposNoPersistidos.addMouseListener(new MouseListener(){

			public void mouseClicked(MouseEvent arg0) {
					listaTiposPersistidos.clearSelection();
					
					String itemSeleccionado = listaTiposNoPersistidos.getSelectedValue();
					if(hashModelTiposNoPersistidos.containsKey(itemSeleccionado)){
						tablaPeriodos.setModel(hashModelTiposNoPersistidos.get(itemSeleccionado));
					}
			}
			public void mouseEntered(MouseEvent e){}
			public void mouseExited(MouseEvent e) {}
			public void mousePressed(MouseEvent e) {}
			public void mouseReleased(MouseEvent e) {}


		});
		
		
		fieldNuevoTipo = new JTextField();
		fieldNuevoTipo.setBounds(352, 101, 107, 25);
		add(fieldNuevoTipo);
		fieldNuevoTipo.setColumns(10);
		
		botonAceptarNuevoTipo = new JButton(new ImageIcon("src/main/resources/tilde.png"));
		botonAceptarNuevoTipo.setBounds(362, 134, 33, 30);
		add(botonAceptarNuevoTipo);
		
		botonAceptarNuevoTipo.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				String nombre = fieldNuevoTipo.getText();
				if(modeloTiposNoPersistidos.contains(nombre) || hashTiposHabitaciones.containsKey(nombre)){
					MainFrame.getInstance().showMessage(MessageType.ERROR,"Existe en el sistema un tipo con ese nombre");
				}
				else{
					modeloTiposNoPersistidos.addElement(nombre);
					Object[][] matrizInicial = new Object[2][4];
					matrizInicial[0] = new Object[]{"Lunes - 0","Miercoles - 15","1","1"};
					matrizInicial[1] = new Object[]{"Miercoles - 15","Lunes - 0","2","2"};
					DefaultTableModel nuevoModel = new DefaultTableModel(matrizInicial,new String[] {"Inicio", "Fin", "Precio hora", "Tiempo m\u00EDn"}) {
						public boolean isCellEditable(int row, int column) {
							return false;
							}};
					hashModelTiposNoPersistidos.put(nombre,nuevoModel);

					botonAceptarNuevoTipo.setVisible(false);
					botonCancelarNuevoTipo.setVisible(false);
					fieldNuevoTipo.setVisible(false);
					botonCrearTipo.setVisible(true);
					botonEliminarTipo.setVisible(true);
				}

			}
		});
		
		botonCancelarNuevoTipo = new JButton(new ImageIcon("src/main/resources/cruz.png"));
		botonCancelarNuevoTipo.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				botonAceptarNuevoTipo.setVisible(false);
				botonCancelarNuevoTipo.setVisible(false);
				fieldNuevoTipo.setVisible(false);
				//TODO
				botonCrearTipo.setVisible(true);
				botonEliminarTipo.setVisible(true);
			}
		});
		botonCancelarNuevoTipo.setBounds(415, 134, 33, 30);
		add(botonCancelarNuevoTipo);
		
		botonAceptarNuevoTipo.setVisible(false);
		botonCancelarNuevoTipo.setVisible(false);
		fieldNuevoTipo.setVisible(false);
		
		fieldNuevaHabitacion = new JTextField();
		fieldNuevaHabitacion.setHorizontalAlignment(SwingConstants.CENTER);
		fieldNuevaHabitacion.setBounds(852, 84, 107, 25);
		add(fieldNuevaHabitacion);
		fieldNuevaHabitacion.setColumns(10);
		
		botonModificarHabitacion = new JButton("Modificar");
		botonModificarHabitacion.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent arg0) {
				filaSeleccionadaHabitacion = tablaHabitaciones.getSelectedRow(); 
				if(filaSeleccionadaHabitacion>=0){
					
					botonAceptarNuevaHabitacion.setVisible(true);
					botonCancelarNuevaHabitacion.setVisible(true);
					fieldNuevaHabitacion.setVisible(true);
					fieldNuevaHabitacion.setEditable(false);
					comboTipos.setVisible(true);
					botonCrearHabitacion.setVisible(false);
					botonModificarHabitacion.setVisible(false);
					
					fieldNuevaHabitacion.setText(""+tablaHabitaciones.getValueAt(filaSeleccionadaHabitacion,0));
					comboTipos.setSelectedItem(""+tablaHabitaciones.getValueAt(filaSeleccionadaHabitacion,1));
					
				}
				else
					MainFrame.getInstance().showMessage(MessageType.ERROR,"No ha seleccionado una habitacion a modificar");
					
			}
		});
		botonModificarHabitacion.setBounds(852, 117, 107, 23);
		add(botonModificarHabitacion);
		
		botonCrearHabitacion = new JButton("Crear");
		botonCrearHabitacion.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				botonAceptarNuevaHabitacion.setVisible(true);
				botonCancelarNuevaHabitacion.setVisible(true);
				fieldNuevaHabitacion.setVisible(true);
				comboTipos.setVisible(true);
				fieldNuevaHabitacion.setEditable(true);
				comboTipos.setSelectedItem("Seleccionar");
				botonCrearHabitacion.setVisible(false);

				botonModificarHabitacion.setVisible(false);
				
				fieldNuevaHabitacion.setText("");
				comboTipos.setSelectedIndex(0);
			}
		});
		botonCrearHabitacion.setBounds(852, 84, 107, 23);
		add(botonCrearHabitacion);
	
		
		botonAceptarNuevaHabitacion = new JButton(new ImageIcon("src/main/resources/tilde.png"));
		botonAceptarNuevaHabitacion.setBounds(862, 151, 33, 30);
		add(botonAceptarNuevaHabitacion);

		botonAceptarNuevaHabitacion.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				boolean hecho=false;
				if(fieldNuevaHabitacion.isEditable()){ //NUEVO
					String nombreHabitacion = fieldNuevaHabitacion.getText();
					String nombreTipo = ""+comboTipos.getSelectedItem();
					if(nombreHabitacion.length()>45 || nombreHabitacion.length()<3){
						MainFrame.getInstance().showMessage(MessageType.ERROR,"El nombre debe tener entre 3 y 45 caracteres");
					}
					else if(hashHabitacionesNuevas.containsKey(nombreHabitacion) || hashHabitacionesPersistidas.containsKey(nombreHabitacion)){
						
						MainFrame.getInstance().showMessage(MessageType.ERROR,"Existe una habitacion con este nombre");
					}
					else if(comboTipos.getSelectedIndex()<=0){
						
						MainFrame.getInstance().showMessage(MessageType.ERROR,"Debe seleccionar un tipo de habitacion");
					}
					else{
						((DefaultTableModel) tablaHabitaciones.getModel()).addRow(new Object[]{nombreHabitacion,nombreTipo});

						hashHabitacionesNuevas.put(nombreHabitacion,nombreTipo);
						botonAceptarNuevaHabitacion.setVisible(false);
						botonCancelarNuevaHabitacion.setVisible(false);
						fieldNuevaHabitacion.setVisible(false);
						comboTipos.setVisible(false);
						botonCrearHabitacion.setVisible(true);
						botonModificarHabitacion.setVisible(true);
					}
				}
				else{ //MODIFICACION, solo tipo
					String nombreHabitacion = fieldNuevaHabitacion.getText();
					String nombreTipo = ""+comboTipos.getSelectedItem();
					if(comboTipos.getSelectedIndex()<=0){
						MainFrame.getInstance().showMessage(MessageType.ERROR,"Debe seleccionar un tipo de habitacion");
					}
					else{
						tablaHabitaciones.setValueAt(nombreTipo,filaSeleccionadaHabitacion,1);
						if(hashHabitacionesNuevas.containsKey(nombreHabitacion)){
							hashHabitacionesNuevas.put(nombreHabitacion,nombreTipo);
						}
						else{
							hashHabitacionesModificadasPersistidas.put(nombreHabitacion,nombreTipo);
							botonAceptarNuevaHabitacion.setVisible(false);
							botonCancelarNuevaHabitacion.setVisible(false);
							fieldNuevaHabitacion.setVisible(false);
							comboTipos.setVisible(false);
							botonCrearHabitacion.setVisible(true);

							botonModificarHabitacion.setVisible(true);
						}
					}
				}

				
			}
		});

		botonCancelarNuevaHabitacion = new JButton(new ImageIcon("src/main/resources/cruz.png"));
		botonCancelarNuevaHabitacion.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				botonAceptarNuevaHabitacion.setVisible(false);
				botonCancelarNuevaHabitacion.setVisible(false);
				fieldNuevaHabitacion.setVisible(false);
				comboTipos.setVisible(false);
				botonCrearHabitacion.setVisible(true);
				botonModificarHabitacion.setVisible(true);		
				}
		});
		botonCancelarNuevaHabitacion.setBounds(913, 151, 33, 30);
		add(botonCancelarNuevaHabitacion);
		
		comboTipos = new JComboBox<String>();
		comboTipos.setBounds(852, 119, 107, 25);
		add(comboTipos);
		
		comboTipos.addItem("Seleccionar");
		for(String nombreTipo : hashTiposHabitaciones.keySet()){
			comboTipos.addItem(nombreTipo);
		}
		panelModificarRegistro = new JLayeredPane();
		panelModificarRegistro.setBounds(10, 570, 484, 206);
		add(panelModificarRegistro);
		
		
		txtInicio = new JTextField();
		txtInicio.setBounds(33, 33, 41, 20);
		panelModificarRegistro.add(txtInicio);
		txtInicio.setText("Inicio:");
		txtInicio.setEditable(false);
		txtInicio.setColumns(10);
		txtInicio.setBorder(null);
		
		txtFin = new JTextField();
		txtFin.setBounds(33, 64, 41, 20);
		panelModificarRegistro.add(txtFin);
		txtFin.setText("Fin:");
		txtFin.setEditable(false);
		txtFin.setColumns(10);
		txtFin.setBorder(null);
		
		txtPrecioHora = new JTextField();
		txtPrecioHora.setBounds(33, 95, 63, 20);
		panelModificarRegistro.add(txtPrecioHora);
		txtPrecioHora.setText("Precio hora:");
		txtPrecioHora.setEditable(false);
		txtPrecioHora.setColumns(10);
		txtPrecioHora.setBorder(null);
		
		txtTiempoMnimo = new JTextField();
		txtTiempoMnimo.setBounds(33, 126, 80, 20);
		panelModificarRegistro.add(txtTiempoMnimo);
		txtTiempoMnimo.setText("Tiempo m\u00EDnimo:");
		txtTiempoMnimo.setEditable(false);
		txtTiempoMnimo.setColumns(10);
		txtTiempoMnimo.setBorder(null);
		
		txtMinutos = new JTextField();
		txtMinutos.setBounds(196, 126, 41, 20);
		panelModificarRegistro.add(txtMinutos);
		txtMinutos.setText("minutos");
		txtMinutos.setEditable(false);
		txtMinutos.setColumns(10);
		txtMinutos.setBorder(null);
		
		spinnerMinutos = new JSpinner();
		spinnerMinutos.setBounds(115, 126, 71, 20);
		panelModificarRegistro.add(spinnerMinutos);
		
		spinnerHoraFin = new JSpinner();
		spinnerHoraFin.setBounds(196, 64, 39, 20);
		panelModificarRegistro.add(spinnerHoraFin);
		spinnerHoraFin.setModel(new SpinnerNumberModel(0, 0, 23, 1));
		
		txthoras = new JTextField();
		txthoras.setBounds(245, 64, 37, 20);
		panelModificarRegistro.add(txthoras);
		txthoras.setText("(horas)");
		txthoras.setEditable(false);
		txthoras.setColumns(10);
		txthoras.setBorder(null);
		
				fieldHoraInicio = new JTextField();
				fieldHoraInicio.setBounds(196, 33, 39, 20);
				panelModificarRegistro.add(fieldHoraInicio);
				fieldHoraInicio.setEditable(false);
				fieldHoraInicio.setColumns(10);
				
				fieldDiaInicio = new JTextField();
				fieldDiaInicio.setBounds(115, 33, 71, 20);
				panelModificarRegistro.add(fieldDiaInicio);
				fieldDiaInicio.setEditable(false);
				fieldDiaInicio.setColumns(10);
				
				comboDiaFin = new JComboBox<String>();
				comboDiaFin.setBounds(115, 64, 71, 20);
				panelModificarRegistro.add(comboDiaFin);
				comboDiaFin.setModel(new DefaultComboBoxModel<String>(new String[] {"Lunes", "Martes", "Mi\u00E9rcoles", "Jueves", "Viernes", "Sabado", "Domingo"}));
				
				fieldPrecio = new JTextField();
				fieldPrecio.setBounds(115, 95, 71, 20);
				panelModificarRegistro.add(fieldPrecio);
				fieldPrecio.setColumns(10);
				
				
				textField_3 = new JTextField();
				textField_3.setBounds(245, 33, 37, 20);
				panelModificarRegistro.add(textField_3);
				textField_3.setText("(horas)");
				textField_3.setEditable(false);
				textField_3.setColumns(10);
				textField_3.setBorder(null);
				
				btnCambiar = new JButton(new ImageIcon("src/main/resources/tilde.png"));
				btnCambiar.setBounds(377, 64, 33, 30);
				panelModificarRegistro.add(btnCambiar);
				
				separator_5 = new JSeparator();
				separator_5.setBounds(33, 17, 403, 1);
				panelModificarRegistro.add(separator_5);
				separator_5.setForeground(Color.LIGHT_GRAY);
				btnCambiar.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent e) {
						try{
							double precio = new Double(fieldPrecio.getText());
							String inicio = (String) fieldDiaInicio.getText() + " - " + fieldHoraInicio.getText();
							String fin = (String) comboDiaFin.getSelectedItem() + " - " + spinnerHoraFin.getValue();
							int minutos = (Integer) spinnerMinutos.getValue();
							tablaPeriodos.setValueAt(inicio, fila, 0);
							tablaPeriodos.setValueAt(fin, fila, 1);
							tablaPeriodos.setValueAt(precio, fila, 2);
							tablaPeriodos.setValueAt(minutos, fila, 3);
							
							int itFila = fila;
							
							while(itFila+1<tablaPeriodos.getRowCount()){
								tablaPeriodos.setValueAt(tablaPeriodos.getValueAt(itFila,1),itFila+1,0);
								itFila++;
								String [] concatInicio = ((String) tablaPeriodos.getValueAt(itFila,0)).split(" - ");
								String [] concatFin = ((String) tablaPeriodos.getValueAt(itFila,1)).split(" - ");
								int diaInicio = dias.indexOf(concatInicio[0]);
								int diaFin = dias.indexOf(concatFin[0]);
								int horaInicio = new Integer(concatInicio[1]);
								int horaFin = new Integer(concatFin[1]);
								int comparaInicio = diaInicio*100 + horaInicio;
								int comparaFin = diaFin*100 + horaFin;
								if(comparaFin<comparaInicio && itFila+1<tablaPeriodos.getRowCount())
									tablaPeriodos.setValueAt(tablaPeriodos.getValueAt(itFila,0),itFila,1);
								else
									itFila=tablaPeriodos.getRowCount();
							
							}
							
							panelModificarRegistro.setVisible(false);
							separator_14.setVisible(true);
							
							tablaPeriodos.setEnabled(true);
							botonAgregarDebajo.setEnabled(true);
							botonModificarPeriodo.setEnabled(true);
							botonEliminarRegistro.setEnabled(true);
							
						}catch(Exception ee){
							
							MainFrame.getInstance().showMessage(MessageType.ERROR,"El precio no es valido");
							ee.printStackTrace();
						}
					}
				});
				
				botonCancelarRegistro = new JButton(new ImageIcon("src/main/resources/cruz.png"));
				botonCancelarRegistro.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent e) {
					panelModificarRegistro.setVisible(false);
					separator_14.setVisible(true);
					tablaPeriodos.setEnabled(true);
					botonAgregarDebajo.setEnabled(true);
					botonModificarPeriodo.setEnabled(true);
					botonEliminarRegistro.setEnabled(true);
					
					}
				});
				botonCancelarRegistro.setBounds(377, 105, 33, 30);
				panelModificarRegistro.add(botonCancelarRegistro);
				
				separator_12 = new JSeparator();
				separator_12.setOrientation(SwingConstants.VERTICAL);
				separator_12.setForeground(Color.LIGHT_GRAY);
				separator_12.setBounds(11, 11, 2, 184);
				panelModificarRegistro.add(separator_12);
				
				separator_13 = new JSeparator();
				separator_13.setOrientation(SwingConstants.VERTICAL);
				separator_13.setForeground(Color.LIGHT_GRAY);
				separator_13.setBounds(470, 11, 2, 184);
				panelModificarRegistro.add(separator_13);
				
				separator_14 = new JSeparator();
				separator_14.setForeground(Color.LIGHT_GRAY);
				separator_14.setBounds(21, 587, 460, 1);
				add(separator_14);
				
				JSeparator separator_16 = new JSeparator();
				separator_16.setOrientation(SwingConstants.VERTICAL);
				separator_16.setForeground(Color.LIGHT_GRAY);
				separator_16.setBounds(553, 403, 1, 317);
				add(separator_16);
				
				separator_17 = new JSeparator();
				separator_17.setOrientation(SwingConstants.VERTICAL);
				separator_17.setForeground(Color.LIGHT_GRAY);
				separator_17.setBounds(994, 403, 1, 317);
				add(separator_17);
				
				separator_18 = new JSeparator();
				separator_18.setForeground(Color.LIGHT_GRAY);
				separator_18.setBounds(553, 719, 441, 1);
				add(separator_18);
				
				JScrollPane scrollPane_2 = new JScrollPane();
				scrollPane_2.setBounds(573, 433, 252, 271);
				add(scrollPane_2);
				
				tablaConsumiciones = new JTable();
				tablaConsumiciones.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
				tablaConsumiciones.setModel(new DefaultTableModel(
						modelConsumiciones,
						new String[] {
							"Nombre de consumici\u00F3n", "Precio"
						}
					) {
						boolean[] columnEditables = new boolean[] {
							false, false
						};
						public boolean isCellEditable(int row, int column) {
							return columnEditables[column];
						}
					});
				tablaConsumiciones.getColumnModel().getColumn(0).setPreferredWidth(140);
				tablaConsumiciones.getColumnModel().getColumn(0).setMinWidth(28);
				tablaConsumiciones.getColumnModel().getColumn(1).setResizable(false);
				tablaConsumiciones.getColumnModel().getColumn(1).setCellRenderer(modeloderecha);
				scrollPane_2.setViewportView(tablaConsumiciones);
				
				txtConsumiciones_1 = new JTextField();
				txtConsumiciones_1.setText("Consumiciones");
				txtConsumiciones_1.setMargin(new Insets(2, 14, 2, 2));
				txtConsumiciones_1.setHorizontalAlignment(SwingConstants.CENTER);
				txtConsumiciones_1.setFont(new Font("Tahoma", Font.PLAIN, 16));
				txtConsumiciones_1.setEditable(false);
				txtConsumiciones_1.setColumns(10);
				txtConsumiciones_1.setBorder(null);
				txtConsumiciones_1.setBounds(607, 394, 121, 20);
				add(txtConsumiciones_1);
				
				separator_19 = new JSeparator();
				separator_19.setBounds(553, 403, 441, 1);
				add(separator_19);
				
				txtPerodosDeEste = new JTextField();
				txtPerodosDeEste.setText("Per\u00EDodos de este tipo");
				txtPerodosDeEste.setMargin(new Insets(2, 14, 2, 2));
				txtPerodosDeEste.setHorizontalAlignment(SwingConstants.CENTER);
				txtPerodosDeEste.setFont(new Font("Tahoma", Font.PLAIN, 16));
				txtPerodosDeEste.setEditable(false);
				txtPerodosDeEste.setColumns(10);
				txtPerodosDeEste.setBorder(null);
				txtPerodosDeEste.setBounds(51, 287, 165, 20);
				add(txtPerodosDeEste);
				
				separator_8 = new JSeparator();
				separator_8.setBounds(21, 298, 460, 1);
				add(separator_8);
				
				comboDiaFin.addItemListener(new ItemListener(){

					public void itemStateChanged(ItemEvent event) {
						if (event.getSource()==comboDiaFin && event.getStateChange() == ItemEvent.SELECTED) {
				            String diaSeleccionado = (String) comboDiaFin.getSelectedItem();
				            if(fieldDiaInicio.getText()!=null){
				            if(diaSeleccionado.equals(fieldDiaInicio.getText())){
				            	int horaMinimo = new Integer(fieldHoraInicio.getText());

								((SpinnerNumberModel)spinnerHoraFin.getModel()).setMinimum(horaMinimo);
								if((Integer)spinnerHoraFin.getValue()<horaMinimo){ 
									((SpinnerNumberModel)spinnerHoraFin.getModel()).setValue(horaMinimo);
									
								}
				            }
				            else{
								((SpinnerNumberModel)spinnerHoraFin.getModel()).setMinimum(0);
				            }
				            }		            
				        }
						
					}});

		botonAceptarNuevoTipo.setVisible(false);
		botonCancelarNuevoTipo.setVisible(false);
		fieldNuevoTipo.setVisible(false);
		fieldNuevaHabitacion.setVisible(false);
		botonAceptarNuevaHabitacion.setVisible(false);
		botonCancelarNuevaHabitacion.setVisible(false);
		comboTipos.setVisible(false);
		panelModificarRegistro.setVisible(false);
		
		botonAceptarNuevaConsumicion = new JButton(new ImageIcon("src/main/resources/tilde.png"));
		botonAceptarNuevaConsumicion.setBounds(862, 543, 33, 30);
		add(botonAceptarNuevaConsumicion);

		botonAceptarNuevaConsumicion.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				String nombreConsumicion = fieldNuevaConsumicion.getText();
				double precio = 0;
				boolean validado = true;
				try{
					precio = new Double(""+fieldPrecioConsumicion.getText());
				}catch(Exception exc){
					validado = false;
					
				}
				
				if(fieldNuevaConsumicion.isEditable()){ //NUEVO
					
					if(nombreConsumicion.length()>45 || nombreConsumicion.length()<3){
						MainFrame.getInstance().showMessage(MessageType.ERROR,"El nombre debe tener entre 3 y 45 caracteres");
					}
					if(hashConsumicionesNuevas.containsKey(nombreConsumicion) || hashConsumicionesPersistidas.containsKey(nombreConsumicion)){
						
						MainFrame.getInstance().showMessage(MessageType.ERROR,"Existe una consumicion con este nombre");
					}
					else{

						if(!validado){
							MainFrame.getInstance().showMessage(MessageType.ERROR,"El precio ingresado no es valido");
						}
						else{
							((DefaultTableModel) tablaConsumiciones.getModel()).addRow(new Object[]{nombreConsumicion,precio});
							hashConsumicionesNuevas.put(nombreConsumicion,""+precio);
							botonAceptarNuevaConsumicion.setVisible(false);
							botonCancelarNuevaConsumicion.setVisible(false);
							fieldNuevaConsumicion.setVisible(false);
							fieldPrecioConsumicion.setVisible(false);
							botonCrearConsumicion.setVisible(true);
							botonModificarConsumicion.setVisible(true);
						}
					}
				}
				else{ //MODIFICACION, solo tipo
					if(!validado){
						MainFrame.getInstance().showMessage(MessageType.ERROR,"El precio ingresado no es valido");
					}
					else{
						tablaConsumiciones.setValueAt(precio,filaSeleccionadaConsumicion,1);
						if(hashConsumicionesNuevas.containsKey(nombreConsumicion)){
							hashConsumicionesNuevas.put(nombreConsumicion,""+precio);
						}
						else{
							hashConsumicionesModificadasPersistidas.put(nombreConsumicion,""+precio);
						}
						botonAceptarNuevaConsumicion.setVisible(false);
						botonCancelarNuevaConsumicion.setVisible(false);
						fieldNuevaConsumicion.setVisible(false);
						fieldPrecioConsumicion.setVisible(false);
						botonCrearConsumicion.setVisible(true);
						botonModificarConsumicion.setVisible(true);
					}
				}

			}
		});

		botonCancelarNuevaConsumicion = new JButton(new ImageIcon("src/main/resources/cruz.png"));
		botonCancelarNuevaConsumicion.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				botonAceptarNuevaConsumicion.setVisible(false);
				botonCancelarNuevaConsumicion.setVisible(false);
				fieldNuevaConsumicion.setVisible(false);
				fieldPrecioConsumicion.setVisible(false);
				botonCrearConsumicion.setVisible(true);
				botonModificarConsumicion.setVisible(true);		
				}
		});
		botonCancelarNuevaConsumicion.setBounds(913, 543, 33, 30);
		add(botonCancelarNuevaConsumicion);
		
		fieldNuevaConsumicion = new JTextField();
		fieldNuevaConsumicion.setHorizontalAlignment(SwingConstants.CENTER);
		fieldNuevaConsumicion.setBounds(852, 464, 107, 25);
		add(fieldNuevaConsumicion);
		fieldNuevaConsumicion.setColumns(10);
		
		botonModificarConsumicion = new JButton("Modificar");
		botonModificarConsumicion.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent arg0) {
				filaSeleccionadaConsumicion = tablaConsumiciones.getSelectedRow(); 
				if(filaSeleccionadaConsumicion>=0){
					
					botonAceptarNuevaConsumicion.setVisible(true);
					botonCancelarNuevaConsumicion.setVisible(true);
					fieldNuevaConsumicion.setVisible(true);
					fieldNuevaConsumicion.setEditable(false);
					fieldPrecioConsumicion.setVisible(true);
					botonCrearConsumicion.setVisible(false);
					botonModificarConsumicion.setVisible(false);
					
					fieldNuevaConsumicion.setText(""+tablaConsumiciones.getValueAt(filaSeleccionadaConsumicion,0));
					fieldPrecioConsumicion.setText(""+tablaConsumiciones.getValueAt(filaSeleccionadaConsumicion,1));
					
				}
				else MainFrame.getInstance().showMessage(MessageType.ERROR,"No ha seleccionado una consumicion a modificar");
			}
		});
		botonModificarConsumicion.setBounds(852, 500, 107, 23);
		add(botonModificarConsumicion);
		

		botonCrearConsumicion = new JButton("Crear");
		botonCrearConsumicion.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				botonAceptarNuevaConsumicion.setVisible(true);
				botonCancelarNuevaConsumicion.setVisible(true);
				fieldNuevaConsumicion.setVisible(true);
				fieldPrecioConsumicion.setVisible(true);
				fieldNuevaConsumicion.setEditable(true);
				botonCrearConsumicion.setVisible(false);

				botonModificarConsumicion.setVisible(false);
				
				fieldNuevaConsumicion.setText("");
				fieldPrecioConsumicion.setText("");
			}
		});
		botonCrearConsumicion.setBounds(852, 465, 107, 23);
		add(botonCrearConsumicion);
		
		fieldPrecioConsumicion = new JTextField();
		fieldPrecioConsumicion.setHorizontalAlignment(SwingConstants.CENTER);
		fieldPrecioConsumicion.setColumns(10);
		fieldPrecioConsumicion.setBounds(852, 500, 107, 25);
		add(fieldPrecioConsumicion);
	

		fieldNuevaConsumicion.setVisible(false);
		botonAceptarNuevaConsumicion.setVisible(false);
		fieldPrecioConsumicion.setVisible(false);
		botonCancelarNuevaConsumicion.setVisible(false);

	setVisible(true);
		
	}
}
